package leetcode_600;

/**
 *@author 周杨
 *SuperWashingMachines_517 将一个数组里的元素分配到均衡 最低的次数
 *describe:元素不能小于0 AC 35%
 *see:https://www.cnblogs.com/grandyang/p/6648557.html
 *2018年9月9日 下午8:04:31
 */
public class SuperWashingMachines_517 {
	public int findMinMoves(int[] machines) {
		if(machines.length==0)
        	return 0;
        int sum=0;
        for(int i:machines)
        	sum+=i;
        if(sum%machines.length!=0)
        	return -1;
        sum/=machines.length;
        int res=0,count=0;
        for(int i:machines) {
        	count+=i-sum;//剩余
        	res=Math.max(Math.max(Math.abs(count), res), i-sum);
        }
        return res;
    }
}
